package tec;
class TestJaugeNaturel { 


    TestJaugeNaturel(){

	lancer();
    }

    private void lancer(){
	
	
	System.out.print("Test de JaugeNaturel:");
	System.out.print(".");
	testDansIntervalle();

	System.out.print(".");
	testInferieurIntervalle();

	System.out.print(".");
	testSuperieurIntervalle();

	System.out.print(".");
	testDeplacement();

	System.out.print(".");
	testLimiteVigieMaxInferieurVigieMin();

	System.out.print(".");
	testMaxEgaleMin();
	
	System.out.println("OK");
    }

    

    private void  testDansIntervalle(){

	JaugeNaturel jaugeTest = new JaugeNaturel(-345,67899,100);
        jeVeuxFaux(jaugeTest.estRouge(), "jaugeTest.estRouge");
        jeVeuxVrai(jaugeTest.estVert(), "jaugeTest.estVert");
        jeVeuxFaux(jaugeTest.estBleu(), "jaugeTest.estBleu");
    }

    private void jeVeuxVrai (boolean expr, String m) {
            assert expr
                    : "\nECHEC jeVeuxVrai <" + m + ">";

    }

    private void jeVeuxFaux (boolean expr, String m) {
            assert !expr
                    : "\nECHEC jeVeuxFaux <" + m + ">";

    }

    private void testInferieurIntervalle(){
	JaugeNaturel jaugeTest = new JaugeNaturel(-345,67899,-400);
        jeVeuxFaux(jaugeTest.estRouge(), "jaugeTest.estRouge");
        jeVeuxFaux(jaugeTest.estVert(), "jaugeTest.estVert");
        jeVeuxVrai(jaugeTest.estBleu(), "jaugeTest.estBleu");

	JaugeNaturel jaugeTest2 = new JaugeNaturel(-345,67899,-345);
        jeVeuxFaux(jaugeTest2.estRouge(), "jaugeTest.estRouge");
        jeVeuxFaux(jaugeTest2.estVert(), "jaugeTest.estVert");
        jeVeuxVrai(jaugeTest2.estBleu(), "jaugeTest.estBleu");
    }

    private void testSuperieurIntervalle(){
	JaugeNaturel jaugeTest = new JaugeNaturel(-345,67899,68000);
        jeVeuxVrai(jaugeTest.estRouge(), "jaugeTest.estRouge");
        jeVeuxFaux(jaugeTest.estVert(), "jaugeTest.estVert");
        jeVeuxFaux(jaugeTest.estBleu(), "jaugeTest.estBleu");

	JaugeNaturel jaugeTest2 = new JaugeNaturel(-345,67899,67899);
        jeVeuxVrai(jaugeTest2.estRouge(), "jaugeTest.estRouge");
        jeVeuxFaux(jaugeTest2.estVert(), "jaugeTest.estVert");
        jeVeuxFaux(jaugeTest2.estBleu(), "jaugeTest.estBleu");
    }

    private void testDeplacement(){
	JaugeNaturel jaugeTest = new JaugeNaturel(-345,67899,67898);
        jaugeTest.incrementer() ;
        jeVeuxVrai(jaugeTest.estRouge(), "jaugeTest.estRouge");
        jeVeuxFaux(jaugeTest.estVert(), "jaugeTest.estVert");
        jeVeuxFaux(jaugeTest.estBleu(), "jaugeTest.estBleu");

        jaugeTest.decrementer() ;
        jeVeuxFaux(jaugeTest.estRouge(), "jaugeTest.estRouge");
        jeVeuxVrai(jaugeTest.estVert(), "jaugeTest.estVert");
        jeVeuxFaux(jaugeTest.estBleu(), "jaugeTest.estBleu");
    }

    private void testLimiteVigieMaxInferieurVigieMin(){
	JaugeNaturel jaugeTest2 = new JaugeNaturel(67899,-345,0);
        jeVeuxVrai(jaugeTest2.estRouge(), "jaugeTest.estRouge");
        jeVeuxFaux(jaugeTest2.estVert(), "jaugeTest.estVert");
        jeVeuxVrai(jaugeTest2.estBleu(), "jaugeTest.estBleu");
    }
    
    private void testMaxEgaleMin(){
	JaugeNaturel jaugeTest2 = new JaugeNaturel(100,100,200);
        jeVeuxVrai(jaugeTest2.estRouge(), "jaugeTest.estRouge");
        jeVeuxFaux(jaugeTest2.estVert(), "jaugeTest.estVert");
        jeVeuxFaux(jaugeTest2.estBleu(), "jaugeTest.estBleu");

	JaugeNaturel jaugeTest = new JaugeNaturel(100,100,100);
        jeVeuxVrai(jaugeTest.estRouge(), "jaugeTest.estRouge");
        jeVeuxVrai(jaugeTest.estVert(), "jaugeTest.estVert");
        jeVeuxVrai(jaugeTest.estBleu(), "jaugeTest.estBleu");
    }


            
}

    
